package com.eastfair.venueservice.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.eastfair.boot.request.PageParams;
import com.eastfair.boot.service.SuperService;
import com.eastfair.venueservice.dto.ServiceBorrowReturnDTO;
import com.eastfair.venueservice.entity.ServiceBorrowReturn;
import com.eastfair.venueservice.vo.ServiceBorrowReturnVO;

import java.util.List;

/**
 * <p>
 * 业务接口
 * 借用归还记录
 * </p>
 *
 * @author linan
 * @date 2022-09-19
 */
public interface ServiceBorrowReturnService extends SuperService<ServiceBorrowReturn> {

    /**
     * 分页查询借还记录VO列表.
     *
     * @param pageParams the page params
     * @return the page
     */
    Page<ServiceBorrowReturnVO> listServiceBorrowReturnVOs(PageParams<ServiceBorrowReturnDTO> pageParams);

    /**
     * ID获取借还记录.
     *
     * @param id the id
     * @return the service borrow return vo by id
     */
    ServiceBorrowReturnVO getServiceBorrowReturnVOById(Long id);

    /**
     * 查询借还记录.
     *
     * @param query the query
     * @return the list
     */
    List<ServiceBorrowReturn> listServiceBorrowReturns(ServiceBorrowReturnDTO query);

    /**
     * 保存借还记录.
     *
     * @param serviceBorrowReturnDTO the service borrow return dto
     * @return the boolean
     */
    boolean saveServiceBorrowReturn(ServiceBorrowReturnDTO serviceBorrowReturnDTO);

    /**
     * 修改借还记录.
     *
     * @param serviceBorrowReturnDTO the service borrow return dto
     * @return the boolean
     */
    boolean updateServiceBorrowReturn(ServiceBorrowReturnDTO serviceBorrowReturnDTO);

    /**
     * 借用服务.
     *
     * @param serviceBorrowReturnDTO the service borrow return dto
     * @return the boolean
     */
    boolean borrowService(ServiceBorrowReturnDTO serviceBorrowReturnDTO);

    /**
     * 归还服务.
     *
     * @param serviceBorrowReturnDTO the service borrow return dto
     * @return the boolean
     */
    boolean returnService(ServiceBorrowReturnDTO serviceBorrowReturnDTO);
}
